package com.lingjtx.common.core.constant;

public interface RedisConfig {
    int REQUEST_COUNT = 100; // 当请求限制次数开启的时候，初始化次数
    long LIMITED_EXPIRE_TIME = 24 * 3600L; // 当请求限制次数开启的时候，有效期时间
    long TIMEOUT_SMS_CODE = 10 * 60L;// 验证码有效时间10分钟
    long TIMEOUT_ACCESS_TOKEN = 3 * 3600L; // 访问token有效期
    long TIMEOUT_REFRESH_TOKEN = 7 * 24 * 3600L; // 刷新token的时间
    long TIMEOUT_NON_REPEATABLE = 90L; // 不可重复提交数据有效期1分钟
    long TIMEOUT_LINK_ACTIVATE = 24 * 3600L; // 激活连接有效时间
    int TIMEOUT_IM_HEARTBEAT = 5 * 60;

    long TIMEOUT_1_MIN = 60L; // 1分钟
    long TIMEOUT_2_MIN = 2 * 60L; // 2分钟
    long TIMEOUT_5_MIN = 5 * 60L; // 5分钟
    long TIMEOUT_10_MIN = 10 * 60L; // 10分钟
    long TIMEOUT_20_MIN = 20 * 60L; // 20分钟
    long TIMEOUT_30_MIN = 30 * 60L; // 30分钟
    long TIMEOUT_1_HOUR = 3600L; // 1小时
    long TIMEOUT_3_HOUR = 3 * 3600L; // 3小时
    long TIMEOUT_5_HOUR = 5 * 3600L; // 5小时
    long TIMEOUT_10_HOUR = 10 * 3600L; // 10小时
    long TIMEOUT_1_DAY = 24 * 3600L; // 1天
    long TIMEOUT_3_DAY = 3 * 24 * 3600L; // 3天
    long TIMEOUT_5_DAY = 5 * 24 * 3600L; // 5天
    long TIMEOUT_7_DAY = 7 * 24 * 3600L; // 7天

    // 在发布消息的时候严格按照规范书写，必须以 channel:开头，channel:用户ID:业务:业务ID:意图。比如 channel:user_id:order:order_id:create（新增一条订单消息）
    String REDIS_CHANNEL_ALL = "channel:*";

    String REDIS_CHANNEL_SYS_PERM_UPDATE = "channel:system:perms:update";

    String REDIS_CHANNEL_MESSAGE_ID = "channel:message:";

    String KEY_SCANLOGIN_TOKEN = "scanlogin:token:";

    String KEY_SCANLOGIN_STATUS = "scanlogin:status:";

    String KEY_USER_TOKEN = "user:token:";

    String KEY_LOGIN_LOG = "login:log:userid:";

    String LIMITED_TIME = "limited:time:";

    String LIMITED_COUNT = "limited:count:";

    String NON_REPEATABLE = "non:repeatable:";

    String HASHKEY_VERIFY_LINK_DATA = "verify:link:data";

    String HASHKEY_VERIFY_LINK_COUNT = "verify:link:count";

    String HASHKEY_VERIFY_LINK_INCREMENT = "verify:link:increment";

    String KEY_WEI_XIN_ACCESS_TOKEN = "weixin:access:token";

    String KEY_WEI_XIN_JSAPI_TICKET = "weixin:jsapi:ticket";

    String KEY_WEI_XIN_PAY_CERTIFICATES = "weixin:pay:certificates";

    String KEY_API_SIGNATURE = "api:signature:";

    String KEY_API_CAPTCHA_COUNT = "api:captcha:count:";

    String APP_WORKER_ID = "app:worker:id";

    String LLM_CHAT_TASK_ID = "llm:chat:taskid:";

    String IM_USER_ONLINE = "im:online:";

    String HASHKEY_DEVICE_BASE_INFO = "iot:device:baseinfo:";

    String HASHKEY_DEVICE_INFO_IOT_REPORT = "iot:device:report:";
}
